package net;

import javax.swing.*;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

/**
 * 服务器
 * 1.实例化一个ServerSocket对象
 * 2.调用accept()方法等待客户端的请求
 *   若接受到客服端请求建立了连接，则返回-socket对象
 */
public class Server

{
    public static void main(String[] args){
        try {
            ServerSocket server=new ServerSocket(9988);//实例化一个ServerSocket对象
            System.out.println("服务器已启动！");
            Socket socket=server.accept();//调用accept()方法等待客户端的请求 若接受到客服端请求建立了连接，则返回-socket对象
            System.out.println("与客服端建立连接！");

            String cip=socket.getInetAddress().getHostAddress();//获取客户ip
            System.out.println("ip:"+cip);
            System.out.println("port:"+socket.getPort());//获取客户端口
//            InputStreamReader isr=new InputStreamReader(socket.getInputStream());
//            BufferedReader br=new BufferedReader(isr);//从输入流读一行字符串
//          //发
            Scanner kb=new Scanner(System.in);
            PrintWriter pw=new PrintWriter(socket.getOutputStream());
            String m=kb.nextLine();
            while (!m.equals("bye")){
                pw.write(m+"\n");//发信息
                pw.flush();
                m=kb.nextLine();//收信息
            }
            kb.close();
        } catch (IOException e) {
//            e.printStackTrace();
            System.out.println("端口被占用！");
        }

    }
}
